package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.vo.ADictNatureHG;
import com.ruoyi.system.domain.vo.ADictNatureSubVO;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.system.domain.ADictNature;

/**
 * 字典房屋性质/用途Mapper接口
 *
 * @author gf
 * @date 2024-11-23
 */
public interface ADictNatureMapper {
    /**
     * 查询字典房屋性质/用途
     *
     * @param id 字典房屋性质/用途主键
     * @return 字典房屋性质/用途
     */
    public ADictNature selectADictNatureById(Long id);

    /**
     * 查询字典房屋性质/用途列表
     *
     * @param aDictNature 字典房屋性质/用途
     * @return 字典房屋性质/用途集合
     */
    public List<ADictNatureHG> selectADictNatureList(ADictNature aDictNature);

    /**
     * 新增字典房屋性质/用途
     *
     * @param aDictNature 字典房屋性质/用途
     * @return 结果
     */
    public int insertADictNature(ADictNature aDictNature);

    /**
     * 修改字典房屋性质/用途
     *
     * @param aDictNature 字典房屋性质/用途
     * @return 结果
     */
    public int updateADictNature(ADictNature aDictNature);

    /**
     * 删除字典房屋性质/用途
     *
     * @param id 字典房屋性质/用途主键
     * @return 结果
     */
    public int deleteADictNatureById(Long id);

    /**
     * 批量删除字典房屋性质/用途
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteADictNatureByIds(Long[] ids);
    /**
     * 逻辑删除字典房屋性质/用途
     *
     * @param id 字典房屋性质/用途主键
     * @return 结果
     */
    public int logicDeleteADictNatureById(Long id);

    /**
     * 批量逻辑删除字典房屋性质/用途
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int logicDeleteADictNatureByIds(Long[] ids);

    List<ADictNature> selectADictNatureXcxList(ADictNature aDictNature);

    List<ADictNatureSubVO> selectADictNatureShopList(Long shopId);
}
